# __author:wanghao

from case.base.basecase import BaseCase
from case.pages import cartpage
from case.pages.livingpage import LivingPage
from case.base import route, loader
from case.pages.minepage import MinePage
from case.pages.storepage import StorePage

"""
直播页测试
"""


class MinePageTest(BaseCase):
    def __init__(self, methodName='runTest'):
        super(MinePageTest, self).__init__(methodName)
        self.minepage = MinePage(self)

    """
      case1:测试从小程序首页点击我的模块，进入我的页面，测试跳转页面是否正确
    """

    def test_01_check_mine_path(self):
        self.logger.info("case1:测试从小程序首页点击我的模块，进入我的页面，测试跳转页面是否正确")
        # 进入mine页面
        self.minepage.to_mine_page()
        # 接口等待时间
        self.page.wait_for(2)
        # 判断跳转路径是否正确
        self.minepage.check_mine_page()

    """
      case2:测试我的页面基本元素
    """

    def test_02_check_mine_element(self):
        self.logger.info("case2:测试我的页面基本元素")
        # 进入我的页面
        self.minepage.to_mine_page()
        # 接口等待时间
        self.page.wait_for(1)
        # check我的页面元素
        self.minepage.check_mine_element()
        # 判断页面是否有【我的订单】模块
        self.assertTexts(["我的订单"], "view")
        # 判断页面是否有【我的地址】模块
        self.assertTexts(["我的地址"], "view")
        # 判断页面是否有【设置】模块
        self.assertTexts(["设置"], "view")

    """
      case3:进入全部订单check订单是否存在
    """

    def test_03_check_all_tabs_order(self):
        self.logger.info("case3:进入全部订单check订单是否存在")
        # 进入我的页面
        self.minepage.to_mine_page()
        # 校验订单元素
        self.minepage.check_all_tabs_order()

    """
    case4:进入商详通过：订单->小店->商详页面
    """

    def test_04_into_mine_good_detail(self):
        self.logger.info("case4:进入商详通过：订单->小店->商详页面")
        # 进入我的页面
        self.minepage.to_mine_page()
        # 校验订单-小店-商详
        self.minepage.check_good_detail()

    """
    case5:订单管理-搜索订单号
    """

    def test_05_search_order(self):
        self.logger.info("case5:订单管理-搜索订单号")
        # 进入我的页面
        self.minepage.to_mine_page()
        # 校验订单-小店-商详
        self.minepage.check_search_order("ALL", "order_no")

    """
    case6:订单管理-搜索商品名称
    """

    def test_06_search_name(self):
        self.logger.info("case6:订单管理-搜索商品名称")
        # 进入我的页面
        self.minepage.to_mine_page()
        # 校验订单-小店-商详
        self.minepage.check_search_order("ALL", "good_name")


if __name__ == "__main__":
    loader.run(module="case.minepage_test", config="../config.json", generate_report=True)
